#include "game.hpp"

GameApp::GameApp() {
    XEN_INFO("game init");
    Xen::Renderer::Init(Xen::RendererAPI::API::OpenGL);
    Xen::RenderCommand::SetViewport(0, 0, GetWindow().GetSize().w, GetWindow().GetSize().h);
    Xen::AudioMaster::Init(Xen::AudioAPI::API::SDL2_Mixer);

    Xen::Physical::Init();

    PushOverlay(new GameLayer);
}

GameApp::~GameApp() {
    XEN_INFO("game exit");
    Xen::Renderer::Shutdown();
    Xen::AudioMaster::Shutdown();

    Xen::Physical::Shutdown();
}

Xen::Application* Xen::CreateApplication() {
    return new GameApp;
}
